import os
import jcfutils



########################################################################
# Build/Link Settings
Import('env')
envLocal = env.Clone()

if envLocal.TargetPlatform() not in ['windows', 'macosx']:
	Return()

envLocal.AppendUnique(CPPDEFINES =['USE_TR1_SMART_PTR'])

envLocal.Append(CPPPATH = ['../..'])

envLocal.UseLibrary('minizip')
envLocal.UseLibrary('newmeetingservice')
envLocal.UseLibrary('meetings-sdk')
envLocal.UseLibrary('jcftestutils', actions=['COMPILE'])
envLocal.UseLibrary('gmock')
envLocal.UseLibrary('csflogger')
envLocal.UseLibrary('ciscossl')
envLocal.UseLibrary('httpdownloader')
envLocal.UseLibrary('csf2g-foundation')
envLocal.UseLibrary('log4cxx')
envLocal.UseLibrary('jcfcoreutils')
envLocal.UseLibrary('boost', actions=['COMPILE'])
envLocal.UseLibrary('csfnetutils')
envLocal.UseLibrary('systemservice-api')
envLocal.UseLibrary('systemservice')
envLocal.UseLibrary('configservice-api')
envLocal.UseLibrary('servicesframework')

if envLocal.TargetPlatform() in ['linux', 'synergylite']:
    envLocal.UseLibrary('systemservice', actions = ['COMPILE', 'GET_SERVICE_FILES'])
else:
    envLocal.UseLibrary('systemservice', actions = ['COMPILE', 'LINK', 'GET_SERVICE_FILES'])

envLocal.UseLibrary('libxml2')

########################################################################
# Builders
artifacts = envLocal.StaticLibrary('newmeetingserviceUnitTests-Staticlib', jcfutils.getAllSources())
#artifacts = envLocal.Program('newmeetingserviceUnitTests', jcfutils.getAllSources('UnitTest'))
all_artifacts = [artifacts + jcfutils.CopyServicesToBin(envLocal)]

#all_artifacts += testlib

variables = Variables('global-build-config.py')
variables.Add('meetingservice_newunittest_args',
        'The arguments to pass to the newmeetingservice unit test executable',
        '')
variables.Update(envLocal)

#executeTestsBuilder = envLocal.csfExecuteTests(
#            'newmeetingservice-unittest-debug',
#            all_artifacts,
#            argName='meetingservice_newunittest_args')


########################################################################
# Alias'
if envLocal['DEBUG']:
    Alias('buildTests-debug', all_artifacts)
    Alias('newmeetingservice-unittest-debug', all_artifacts)
#Alias('execute-newmeetingservice-unittest-debug', executeTestsBuilder)
else:
    Alias('buildTests', all_artifacts)
    Alias('newmeetingservice-unittest', all_artifacts)
#Alias('execute-newmeetingservice-unittest', executeTestsBuilder)

#Alias('meetingservice-testlib', testlib)
